package com.task.core.service;

import java.util.List;

import com.task.common.domain.info.KeyAndValue;
import com.task.core.domain.AffiliateInfo;
import com.task.core.dto.request.AffiliateRequestDTO;

/**
 * @author 迪迦.
 * @date 2024/10/30 15:08
 */
public interface AffiliateService {

  List<AffiliateInfo> getAffiliateByPage(AffiliateRequestDTO request);

  AffiliateInfo getAffiliateByCodeOrName(String code, String name);

  List<KeyAndValue> getAffiliateForOption(AffiliateRequestDTO request);

  void addAffiliate(AffiliateRequestDTO request);

  void modifyAffiliate(AffiliateRequestDTO request);

  void deleteAffiliate(String affiliateCode, Long userId);

  AffiliateInfo getAffiliateByCode(String affiliateCode);
}
